package com.voxel.sense.infomsg.module.user.audit;

import com.example.com.common.app.BaseContract;

import java.util.List;

/**
 * @author ChenYiYao
 * @date 2018/5/14
 * des :
 */
public interface AuditUserContract {
    interface View extends BaseContract.View<Presenter> {
        /**
         * 显示角色筛选view
         *
         * @param list
         */
        void onShowRoleView(List list);

        /**
         * 显示用户类型筛选view
         *
         * @param list
         * @param defaultIndex 默认选中项的索引，从0开始
         */
        void onShowUserTypeView(List list, int defaultIndex);


        /**
         * 显示中队
         *
         * @param list
         */
        void onShowTeamView(List list);

        /**
         * 设置中队item是否可见
         *
         * @param visible
         */
        void onShowTeamItem(boolean visible);

        void onRefreshRegion(String region);

        /**
         * 刷新上级用户真是姓名
         *
         * @param name
         */
        void onRefreshLeadName(String name, String id);

        /**
         * 设置校验上级用户按钮是否可用
         *
         * @param b
         */
        void onSetVarifyBtnEnable(boolean b);

        void onCheckUsdrSuccess();
    }

    interface Presenter extends BaseContract.Presenter {
        /**
         * 加载用户角色数据
         */
        void doLoadRoleData();

        /**
         * 加载用户类型数据
         */
        void doLoadUserType();

        /**
         * 加载中队数据
         */
        void doLoadTeamDatas();

        /**
         * 价值验证上级用户
         *
         * @param condition 上级用户名
         */
        void doVarifyLeadInfo(String condition);

        /**
         * 加载用户信息
         *
         * @param id
         */
        void doLoadUserInfo(String id);

        /**
         * @param userId      用户Id
         * @param userName    用户名
         * @param realName    用户真实姓名
         * @param phone       电话
         * @param email       邮箱
         * @param roleId      角色
         * @param UserType    用户类型
         * @param Firm        所在单位
         * @param department  所属部门
         * @param LeadAccount 上级用户名
         * @param LeadName    上级真实姓名
         * @param Leadid      上级用户id
         * @param job         工作
         * @param duty        职责
         * @param team        中队（只有光明区需要上传）
         */
        void doAuditUser(String userId, String userName, String realName, String phone, String email, String roleId, String UserType, String Firm, String department, String LeadAccount, String LeadName, String Leadid, String job, String duty, String team);
    }

}
